package com.sy.simpleegg.platform.kkb.api

import com.sy.simpleegg.platform.kkb.bean.device.ConnectTestEntity
import com.sy.simpleegg.platform.kkb.bean.device.DeviceUpdateEntity
import com.sy.simpleegg.platform.kkb.bean.device.HeartbeatEntity
import com.sy.simpleegg.platform.kkb.bean.device.RegisterEntity
import com.sy.simpleegg.platform.kkb.bean.device.RemoteDeviceConfigEntity
import com.sy.simpleegg.platform.kkb.bean.device.SubRegisterEntity
import com.sy.simpleegg.platform.kkb.network.base.BaseResult
import io.reactivex.Observable
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.HeaderMap
import retrofit2.http.POST

/**
 * @author sy
 * @date 2024/10/11 18:10
 * @desc
 */
interface IDeviceConnectApi {
    @GET("/YzyIot/api/v1/Device/ConnectTest")
    fun connectTest(): Observable<BaseResult<ConnectTestEntity?>?>?

    @POST("/YzyIot/api/v1/Device/UpLoadFaultLog")
    fun pushDeviceError(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<Any?>?>?

    @POST("/YzyIot/api/v1/Device/Heartbeat")
    fun deviceHeartbeat(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<HeartbeatEntity?>?>?

    @POST("/YzyIot/api/v1/Device/RegistWithProduct")
    fun registerProduct(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<RegisterEntity?>?>?

    @POST("/YzyIot/api/v1/Device/GetUpdateList")
    fun checkUpdate(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<DeviceUpdateEntity?>?>?

    @POST("/YzyGame/api/v1/Achievement/DeviceConfig")
    fun getDeviceConfig(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<RemoteDeviceConfigEntity?>?>?

    @POST("/YzyIot/api/v1/Remote/MessageResult")
    fun mqResult(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<Any?>?>?

    @POST("/YzyIot/api/v1/Device/SubmitAccountDeviceReg")
    fun subDeviceRegister(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<SubRegisterEntity?>?>?

    @POST("/YzyIot/api/v1/Device/UploadDevInfo")
    fun uploadDeviceInfo(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<HeartbeatEntity?>?>?

    @POST("/YzyIot/api/v1/Device/ReportCounter")
    fun pushDeviceSet(
        @HeaderMap var1: Map<String?, Any?>?,
        @Body var2: Map<String?, Any?>?,
    ): Observable<BaseResult<Any?>?>?
}